---
title: Crafting your repository
description: Design and build your Turborepo.
---

import { Card, Cards } from '#/components/card';
import { Callout } from '#/components/callout';

Architecting a monorepo is a careful process. Through these guides, you'll learn how to design and build a monorepo that will make every team faster - no matter the size.

The guides in this section will take you through building a multi-package workspace, commonly referred to as a monorepo. They are meant to be read in order as they build on top of the knowledge from previous guides, but you can read them in any order or skip to the pages specific to your use case.

By the time you've read through all of this section, you should have a good understanding of how to design and build a monorepo with Turborepo.

<Callout type="info">
  Turborepo can also be used to speed up single-package workspaces. Visit the
  [single-package workspace](/repo/docs/guides/single-package-workspaces)
  section for more information.
</Callout>

## From zero to `turbo`

<Cards>
<Card
    href="/repo/docs/crafting-your-repository/structuring-a-repository"
    title="1. Structuring a repository"
    description="Design the directory structure of your monorepo."
  />

<Card
  href="/repo/docs/crafting-your-repository/managing-dependencies"
  title="2. Managing dependencies"
  description="Using dependencies for sharing code"
/>

<Card
  href="/repo/docs/crafting-your-repository/creating-an-internal-package"
  title="3. Creating an internal package"
  description="Make a package in your repository"
/>

<Card
  href="/repo/docs/crafting-your-repository/configuring-tasks"
  title="4. Configuring tasks"
  description="Design your task patterns"
/>

<Card
  href="/repo/docs/crafting-your-repository/running-tasks"
  title="5. Running tasks"
  description="Run tasks as fast as possible"
/>

<Card
  href="/repo/docs/crafting-your-repository/caching"
  title="6. Caching"
  description="Never do the same work twice"
/>

<Card
  href="/repo/docs/crafting-your-repository/developing-applications"
  title="7. Developing apps"
  description="Run many apps in parallel"
/>

<Card
  href="/repo/docs/crafting-your-repository/using-environment-variables"
  title="8. Using environment variables"
  description="Account for variables in your environment"
/>

<Card
  href="/repo/docs/crafting-your-repository/constructing-ci"
  title="9. Constructing CI"
  description="Ship your applications"
/>

<Card
    href="/repo/docs/crafting-your-repository/upgrading"
    title="10. Upgrading"
    description="Upgrading your Turborepo version"
  />
</Cards>

## More guides

We also have more guides centered around [specific tools, use cases, and other topics](/repo/docs/guides).
